package com.ruoyi.finance.api;

import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.system.api.domain.finance.ReciveOrder;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * @author wangenhao
 * @interfaceName RemoteReciveOrderService
 * @description
 * @date 2024-11-11 下午4:05
 */
@FeignClient(contextId = "remoteReciveOrderService", value = ServiceNameConstants.FINANCE_SERVICE)
public interface RemoteReciveOrderService {

    /**
     * @return com.ruoyi.common.core.web.domain.AjaxResult
     * @description 审核财务收款单
     * @date 2024/11/11 下午4:52
     * @Param reciveOrder:
     **/
    @PostMapping("/reciveOrder/audit/byOrderCode")
    public AjaxResult auditReciveOrderByOrderCode(@RequestBody ReciveOrder reciveOrder);

    /**
     * @return com.ruoyi.common.core.domain.R<com.ruoyi.system.api.domain.finance.ReciveOrder>
     * @description 根据财务收款编号获取财务收款单详情
     * @date 2024/11/11 下午4:55
     * @Param orderCode:
     **/
    @GetMapping("/reciveOrder/get/byOrderCode/{orderCode}")
    public R<ReciveOrder> getReciveOrderByOrderCode(@PathVariable("orderCode") String orderCode);

    /**
     * @return com.ruoyi.common.core.web.domain.AjaxResult
     * @description 根据收款单编号修改，sql语句修改已核销金额
     * @date 2024/11/19 上午9:27
     * @Param reciveOrder:
     **/
    @PostMapping("/updateReciveOrderByOrderCodeOfVerMoney")
    AjaxResult updateReciveOrderByOrderCodeOfVerMoney(@RequestBody ReciveOrder reciveOrder);
}
